<?
include ("../conectar.php"); 
include ("../funciones/fechas.php"); 
include ("../funciones/numeros.php");
include ("../include/tables_definition.php");

function write_log($cadena,$tipo)
{
	$arch = fopen(realpath( '.' )."/ivan_".date("Y-m-d").".txt", "a+");
        //die($arch);
	fwrite($arch, "[".date("Y-m-d H:i:s.u")." ".$_SERVER['REMOTE_ADDR']." ".
                   $_SERVER['HTTP_X_FORWARDED_FOR']." - $tipo ] ".$cadena."\n");
	fclose($arch);
}

$accion=$_POST["accion"];
if (!isset($accion)) { $accion=$_GET["accion"]; }

$minimo=0;
$hoy = date('Y-m-d H:i:s',time());
if ($accion=="alta") {
	$codfacturatmp=$_POST["codfacturatmp"];
	$codcliente=$_POST["codcliente"];
	$fecha=explota($_POST["fecha"]);
	$fecha_venc=explota($_POST["fechaVenc"]);
	$total_factura=$_POST["total2"];
	$total_cuota=$_POST["valor_cuota"]; //total en formato segun moneda
	$iva=$_POST["totaliva2"];
	$cuotas=$_POST["cuotas"];	
	$cod_mon=$_POST["cod_moneda2"];
	//20-01-2013
	$nrofactura=$_POST["nro_fac"];
	$referencia=$_POST["referencia"];
	$diacuota=$_POST["diasCuotas"];
	//$condicionventa=$_POST["cod_cond"];
	$cond=$_POST["cod_cond"];

	//echo "Cond: ".$condicionventa."</br>";
	/*
	if($condicionventa==1)
		$cond="CONTADO";
	else
	{	if($condicionventa==2)
			$cond="CREDITO";
	}
	*/
	//echo "Cod fac: ".$codfacturatmp."</br>Cod cli: ".$codcliente."</br>Fecha: ".$fecha."</br>Fecha venc: ".$fecha_venc."</br>Total fac: ".$total_factura."</br>Iva: ".$iva."</br>Cuotas: ".$cuotas."</br>";
	
	$tabla_lineas=$_POST["tabla_lineas2"];

	$vfilas=explode("@",$tabla_lineas);

	$query="SELECT simbolo,decimales,descripcion FROM moneda WHERE codigo='$cod_mon'";
	$rs_query=mysql_query($query);
	$smoneda=mysql_result($rs_query,0,"simbolo");
	$moneda=mysql_result($rs_query,0,"descripcion");
	$dec_moneda=mysql_result($rs_query,0,"decimales");

	//echo "Cod_moneda: ".$cod_mon."</br>";
	 
	$query_operacion="INSERT INTO facturas (fecha, iva, codcliente, estado, totalfactura,fechavencimiento, cuotas, cuotaspagas,moneda  ,nrofactura, referencia, diacuota, condicionventa,borrado)
	      VALUES ( '$fecha', '$iva', $codcliente, '0','$total_factura', '$fecha_venc',$cuotas,0, $cod_mon,'$nrofactura','$referencia',$diacuota,'$cond',0)";
	//echo "INSERTAR: ".$query_operacion."</br>";

       // die($query_operacion);
	$rs_operacion=mysql_query($query_operacion);
        write_log("\n query: ".$query_operacion."\nResultado : ".$rs_operacion."\nError :".mysql_error(),"Debug");

        // recuperamos el codigo de factura insertado para colocarlo en las demas tablas
        $sel_maximo_factura="SELECT COALESCE(max(codfactura),1) AS NRO FROM facturas";
	$rs_maximo_factura=mysql_query($sel_maximo_factura);
       	$cod_factura_max=mysql_result($rs_maximo_factura,0,"NRO");
        write_log("\n query: ".$sel_maximo_factura."\n Resultado : ".$rs_maximo_factura."\n DATOP :".$cod_factura_max,"Debug");

	//******* INSERTAR EN LA TABLA CUENTAS_COBRAR ********
	//obtener el ultimo registro insertado --> codfacturatmp
	/*
	$sel_maximo="SELECT max(codfactura) as cod FROM facturas";
	$rs_maximo=mysql_query($sel_maximo);
	$cod_fac=mysql_result($rs_maximo,0,"cod");
	*/

	//obtener el siguiente codigo para el nuevo registro
	//cc = cuentas cobrar
	$sel_maximo="SELECT max(codigo) as cod FROM cuentas_cobrar";
	$rs_maximo=mysql_query($sel_maximo);
	$cod_cc=mysql_result($rs_maximo,0,"cod")+1;

	$nuevafecha=$fecha;
	
	$tc=$total_cuota;
	$tc=coma2decimal($tc);

	$tf=$total_factura;
	$tf=coma2decimal($tf);

//echo "total: ".$tf.", cuota: ".$tc.", cant cuotas: ".$cuotas."</br>";
        $total_cuota=coma2decimal($total_cuota);//fede agrego esto para sacar el punto.
write_log("\ntotal: ".$tf.", cuota: ".$tc.", cant cuotas: ".$cuotas."\n","Debug");
	for($i=1; $i<=$cuotas; $i++)
	{
		$nuevafecha = strtotime ( '+'.$diacuota.' day' , strtotime ( $nuevafecha ) );
		$nuevafecha = date ( 'Y-m-j' , $nuevafecha );

		//echo $nuevafecha."</br>";

		//calculo para la ultima cuota, que no sobrepase el total
		if($i==$cuotas)
		{
                    $x=$cuotas*$tc;
                    $dif=$x-$tf;
                    //echo "x: ".$x.", dif:".$dif;

                    if($dif != 0)
                        $tc-=$dif;

                    $total_cuota=$tc;
                    //echo ", cuota".$i.": ".$tc."<br>";
                    //$total_cuota=number_format($total_cuota,$dec_moneda,",",".");                    
		}
write_log("\ntotal_cuota : ".$total_cuota."\n","Debug");                
                $total_cuota=number_format($total_cuota,$dec_moneda,".",'');
/*
		else
		{
			echo "cuota".$i.": ".$total_cuota."<br>";
		}
*/
		//echo "Cuota".$i.": ".$total_cuota."<br>";

		/* Ivan Comentario
                 * $query_operacion2="INSERT INTO cuentas_cobrar (codigo, cod_factura, fecha, fecha_venc, cuotas, nro_cuota, valor_cuota, estado, borrado)
		      VALUES ( $cod_cc, $codfacturatmp,'$fecha', '$nuevafecha', $cuotas, $i, '$total_cuota','0', 0)";

                 * //echo "INSERTAR: ".$query_operacion2."</br>";
                 */
/*
                $query_operacion2="INSERT INTO cuentas_cobrar (codigo, cod_factura, fecha, fecha_venc,fecha_pago,mora,valor_pagado, cuotas, nro_cuota, valor_cuota, estado, borrado)
                                                      VALUES ( $cod_cc, $cod_factura_max,'$fecha', '$nuevafecha','0001-01-01',0,0, $cuotas, $i, '$total_cuota','0', 0)";

                
		$rs_operacion2=mysql_query($query_operacion2);

		write_log("\n query: ".$query_operacion2."\nResultado :".$rs_operacion2."\nError :".mysql_error(),"Debug");
*/
                $query_operacion_new="INSERT INTO ".CUENTAS_COBRAR_TABLE."(cod_factura,cod_cliente,nro_concepto,tipo_documen,num_doc,nro_cuota,cuotas,vencimiento,cod_moneda,valor,valor_cobrado,nro_recibo,fechas_cobro,cobrado,observacion,fecha_emision,estado,anticipo_autorizado,usuario_autorizacion)
                                        VALUES($cod_factura_max,$codcliente,0,0,0,$i,$cuotas,'$nuevafecha',1,$total_cuota,0,0,'0001-01-01',0,'ninguna','$fecha','0',0,0)";


		$rs_operacion_new=mysql_query($query_operacion_new);
                write_log("\nquery: ".$query_operacion_new."\nResultado :".$rs_operacion_new."\nError :".mysql_error(),"Debug");

                $cod_cc++;

		//auditoria
		$ins="INSERT INTO auditoria (tabla,operacion,descripcion,fecha_hora)
			  VALUES ('cuentas_cobrar','insertar','Se inserto registro de cuentas a cobrar de la factura codigo $codfacturatmp en fecha $hoy con $cuotas cuotas de $total_cuota','$hoy')";
		$rs=mysql_query($ins);
                write_log("\nquery: ".$ins."\nResultado :".$rs."\nError :".mysql_error(),"Debug");
	}


	//$codfactura=mysql_insert_id();	
	$codfactura=$codfacturatmp;

	for($i=0; $i < (sizeof($vfilas)-1); $i++)
	{   
	    $vceldas=explode("~",$vfilas[$i]);

	    $ins_lineas="INSERT INTO factulinea (codfactura,numlinea,cantidad,descripcion,precio,excentas,por5,por10) 
	         VALUES ('$codfacturatmp','$i','$vceldas[0]','$vceldas[1]','$vceldas[2]','$vceldas[3]','$vceldas[5]','$vceldas[7]')";

	    //echo "Insertar factulinea".$ins_lineas."</br>";
	    $rs_ins_lineas=mysql_query($ins_lineas) or die("Error insertar ".mysql_error());

            write_log("\nquery: ".$ins_lineas."\nResultado :".$rs_ins_lineas."\nError :".mysql_error(),"Debug");
	}

	if ($rs_operacion) 
	{ 	$mensaje="La factura ha sido dada de alta correctamente"; 
		//auditoria
		$ins="INSERT INTO auditoria (tabla,operacion,descripcion,fecha_hora)
			  VALUES ('facturas','insertar','Se inserto registro de factura codigo $codfacturatmp en fecha $hoy del cliente $codcliente con un total de $total_factura en la moneda $cod_mon con $cuotas cuotas a $diacuota dias en condicion de pago $cond','$hoy')";
		$rs=mysql_query($ins);

                write_log("\nquery: ".$ins."\nResultado :".$rs."\nError :".mysql_error(),"Debug");
	}

	$cabecera1="Inicio >> Ventas &gt;&gt; Nueva Factura ";
	$cabecera2="INSERTAR FACTURA ";
}

if ($accion=="modificar") {
	$codfacturatmp=$_POST["codfacturatmp"];
	$codfactura=$codfacturatmp;

	$codcliente=$_POST["codcliente"];
	$fecha=explota($_POST["fecha"]);
	$fecha_venc=explota($_POST["fechaVenc"]);
	$total_factura=$_POST["total2"];
	$iva=$_POST["totaliva2"];
	$cuotas=$_POST["cuotas"];	
	$cod_mon=$_POST["cod_moneda2"];
	$tabla_lineas=$_POST["tabla_lineas2"];

	//20-01-2013
	$nrofactura=$_POST["nro_fac"];
	$referencia=$_POST["referencia"];
	$diacuota=$_POST["diasCuotas"];
	$condicionventa=$_POST["cod_cond"];
	$total_cuota=$_POST["valor_cuota"]; //total en formato numero ingles -> 100000.00

	//echo "Cond: ".$condicionventa."</br>";
	if($condicionventa==1)
		$cond="CONT";
	else
	{	if($condicionventa==2)
			$cond="CRED";		
	}

	//echo "Cod fac: ".$codfacturatmp."</br>Cod cli: ".$codcliente."</br>Fecha: ".$fecha."</br>Fecha venc: ".$fecha_venc."</br>Total fac: ".$total_factura."</br>Iva: ".$iva."</br>Cuotas: ".$cuotas."</br>Moneda: ".$cod_mon."</br>";
	//echo "TABLA: ".$tabla_lineas."</br>";

	$query="SELECT simbolo,descripcion FROM moneda WHERE codigo='$cod_mon'";
	$rs_query=mysql_query($query);
	$smoneda=mysql_result($rs_query,0,"simbolo");
	$moneda=mysql_result($rs_query,0,"descripcion");

	$vfilas=explode("@",$tabla_lineas);

	//actualizar datos de la factura
	$fac="UPDATE facturas SET iva='$iva', totalfactura='$total_factura' ,condicionventa='$cond', referencia='$referencia', nrofactura='$nrofactura',cuotas=$cuotas,
		diacuota=$diacuota, fechavencimiento='$fecha_venc' WHERE codfactura=".$codfacturatmp."";	         
	echo "Actualizar factura ".$fac."</br>";
	//$rs_up_fac=mysql_query($fac) or die("Error actualizar ".mysql_error());

	//ACTUALIZAR TABLA CUENTAS_COBRAR
/*
	$nuevafecha=$fecha;
	//echo "cuota: ".$total_cuota."</br>";

	for($i=1; $i<=$cuotas; $i++)

	{			
		$nuevafecha = strtotime ( '+'.$diacuota.' day' , strtotime ( $nuevafecha ) ) ;
		$nuevafecha = date ( 'Y-m-j' , $nuevafecha );

		//echo $nuevafecha."</br>";

		$query_operacion2="UPDATE cuentas_cobrar SET fecha_venc='$nuevafecha' WHERE cod_factura=$codfacturatmp";
		echo "INSERTAR: ".$query_operacion2."</br>";
		//$rs_operacion2=mysql_query($query_operacion2);
		$cod_cc++;
	}
*/


	//controlar lo que se quito
	$query_operacion="SELECT numlinea FROM factulinea WHERE codfactura=".$codfacturatmp." ORDER BY numlinea";
	$rs_operacion=mysql_query($query_operacion);
	
	$contador=0;
	while ($contador < mysql_num_rows($rs_operacion)) 
	{   $nl=mysql_result($rs_operacion,$contador,"numlinea");
	    $sw=0;

	    for($i=0; $i < (sizeof($vfilas)-1); $i++)
	    {   
		  $vceldas=explode("~",$vfilas[$i]);
		  if($nl == $i)
		  {	
		      $sw=1;
		  }
	    }
	    
	    if($sw==0)
	    {
		$del_lineas="DELETE FROM factulinea WHERE codfactura=$codfacturatmp AND numlinea=$nl";
		//echo "Borrar factulinea ".$del_lineas."</br>";
		$rs_del_lineas=mysql_query($del_lineas) or die("Error borrar".mysql_error());
	    }
	    $contador++;
	}

	//actualizar o agregar
	for($i=0; $i < (sizeof($vfilas)-1); $i++)
	{   
	    $vceldas=explode("~",$vfilas[$i]);

	    $query_operacion="SELECT count(*) as cr FROM factulinea WHERE codfactura=".$codfacturatmp." AND numlinea=".$i."";
	    $rs_operacion=mysql_query($query_operacion);
	    $cr=mysql_result($rs_operacion,0,"cr");
	    
	    if ($cr==1) 
	    {	    $lineas="UPDATE factulinea SET cantidad='$vceldas[0]', descripcion ='$vceldas[1]', precio = '$vceldas[2]',
			excentas = '$vceldas[3]', por5 = '$vceldas[5]', por10 = '$vceldas[7]' 
			WHERE codfactura=$codfacturatmp AND numlinea=$i";
	         
			//echo "Actualizar factulinea ".$lineas."</br>";
			$rs_up_lineas=mysql_query($lineas) or die("Error actualizar ".mysql_error());
	    }
	    else
	    {
		  $lineas="INSERT INTO factulinea (codfactura,numlinea,cantidad,descripcion,precio,excentas,por5,por10) 
			VALUES ('$codfacturatmp','$i','$vceldas[0]','$vceldas[1]','$vceldas[2]','$vceldas[3]','$vceldas[5]','$vceldas[7]')";

		  //echo "Insertar factulinea ".$lineas."</br>";
		  $rs_ins_lineas=mysql_query($lineas) or die("Error insertar ".mysql_error());	
	    }
	}

	if ($rs_lineas) { $mensaje="Los datos de la factura han sido modificados correctamente"; }
	$cabecera1="Inicio >> Ventas &gt;&gt; Modificar Factura ";
	$cabecera2="MODIFICAR FACTURA ";

}

if ($accion=="baja") {
	$codfactura=$_GET["codfactura"];
	$query="UPDATE facturas SET borrado=1 WHERE codfactura='$codfactura'";
	$rs_query=mysql_query($query);
	$query="UPDATE factulinea SET borrado=1 WHERE codfactura='$codfactura'";
	$rs_tmp=mysql_query($query);
		
	if ($rs_query) { $mensaje="La factura ha sido eliminada correctamente"; }
	$cabecera1="Inicio >> Ventas &gt;&gt; Eliminar Factura";
	$cabecera2="ELIMINAR FACTURA";
	$query_mostrar="SELECT * FROM facturas WHERE codfactura='$codfactura'";
	$rs_mostrar=mysql_query($query_mostrar);
	$codcliente=mysql_result($rs_mostrar,0,"codcliente");
	$fecha=mysql_result($rs_mostrar,0,"fecha");
	$cuotas=mysql_result($rs_mostrar,0,"cuotas");
	$iva=mysql_result($rs_mostrar,0,"iva");
	$total_factura=mysql_result($rs_mostrar,0,"totalfactura");
}

?>

<html>
	<head>
		<title>Principal</title>
		<link href="../estilos/estilos.css" type="text/css" rel="stylesheet">
		<script language="javascript">
		var cursor;
		if (document.all) {
		// Está utilizando EXPLORER
		cursor='hand';
		} else {
		// Está utilizando MOZILLA/NETSCAPE
		cursor='pointer';
		}
		
		function aceptar() {
			location.href="index.php";
		}
		
		function imprimir(codfactura) {
			window.open("../fpdf/imprimir_factura.php?codfactura="+codfactura);
		}
		
		</script>
	</head>
	<body>
	    <div id="pagina">
		<div id="zonaContenido">
		    <div align="center">
			<div id="tituloForm" class="header"><?php echo $cabecera2?></div>
			<div id="frmBusqueda">
			    <table class="fuente8" width="98%" cellspacing=0 cellpadding=3 border=0>
				<tr>
				    <td width="15%"></td>
				    <td width="85%" colspan="2" class="mensaje"><?php echo $mensaje;?></td>
				</tr>				
				<? 
				$sel_cliente="SELECT nombre,ruc,direccion FROM clientes WHERE codcliente='$codcliente'"; 
				$rs_cliente=mysql_query($sel_cliente); ?>
				<tr>
				    <td width="15%">Cliente</td>
				    <td width="85%" colspan="2"><?php echo mysql_result($rs_cliente,0,"nombre");?></td>
				</tr>
				<tr>
				    <td width="15%">RUC</td>
				    <td width="85%" colspan="2"><?php echo mysql_result($rs_cliente,0,"ruc");?></td>
				</tr>				
				<tr>
				    <td>C&oacute;digo de factura</td>
				    <td colspan="2"><?php echo $codfactura?></td>
				</tr>
				<tr>
				    <td>Fecha</td>
				    <td colspan="2"><?php echo implota($fecha)?></td>
				</tr>
				<tr>
				    <td>Cuotas</td>
				    <td colspan="2"><?php echo $cuotas?></td>
				</tr>
				<tr>  
				<td>Moneda</td>
				    <td colspan="2"><?php echo $moneda?></td>
				</tr>
			  </table>
			  <table class="fuente8" width="98%" cellspacing=0 cellpadding=3 border=0 ID="Table1">
				<tr class="cabeceraTabla">
				    <td width="3%">CANT</td>
				    <td width="38%">DESCRIPCION</td>
				    <td width="15%">PRECIO UNITARIO</td>
				    <td width="15%">EXCENTAS</td>
				    <td width="15%">5%</td>
				    <td width="15%">10%</td>							
				</tr>
			  </table>
			  <table class="fuente8" width="98%" cellspacing=0 cellpadding=3 border=0 ID="Table1">
			    <?  $sel_lineas="SELECT * FROM factulinea WHERE codfactura='$codfactura' ORDER BY numlinea ASC";
				$rs_lineas=mysql_query($sel_lineas);
				for ($i = 0; $i < mysql_num_rows($rs_lineas); $i++) {							
				      $cantidad=mysql_result($rs_lineas,$i,"cantidad");
				      $descripcion=mysql_result($rs_lineas,$i,"descripcion");
				      $precio=mysql_result($rs_lineas,$i,"precio");
				      $excentas=mysql_result($rs_lineas,$i,"excentas");
				      $por5=mysql_result($rs_lineas,$i,"por5");
				      $por10=mysql_result($rs_lineas,$i,"por10");
				      if ($i % 2) { $fondolinea="itemParTabla"; } else { $fondolinea="itemImparTabla"; } ?>
					  <tr class="<? echo $fondolinea?>">
					      <td width="3%" class="aCentro"><? echo $cantidad?></td>
					      <td width="38%"><? echo $descripcion?></td>								      
					      <td width="15%" class="aCentro"><? echo $precio?></td>
					      <td width="15%" class="aCentro"><? echo $excentas?></td>
					      <td width="15%" class="aCentro"><? echo $por5?></td>
					      <td width="15%" class="aCentro"><? echo $por10?></td>
					  </tr>							      
				  <? } ?>
			  </table>
		      </div>			  
		      <div id="frmBusqueda">
			  <table width="25%" border=0 align="right" cellpadding=3 cellspacing=0 class="fuente8">						
			      <tr>
				  <td width="15%">IVA</td>
				  <td width="15%" align="right"><?php echo $iva." ".$smoneda?></td>
			      </tr>
			      <tr>
				  <td width="15%">Total</td>
				  <td width="15%" align="right"><?php echo $total_factura." ".$smoneda?></td>
			      </tr>
			  </table>
		      </div>
		      <div id="botonBusqueda">
			  <div align="center">
			      <img src="../img/botonaceptar.jpg" width="85" height="22" onClick="aceptar()" border="1" onMouseOver="style.cursor=cursor">			      
			  </div>
		      </div>
		    </div><!-- Fin de centrado -->
		</div><!-- Fin de contenido -->
	    </div><!-- Fin de pagina -->
	</body>
</html>
